package pe.com.certicom.scv.service;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import pe.com.certicom.scv.persistence.*;
import pe.com.certicom.scv.domain.*;

@Service("ScvAdminService")
@Transactional(readOnly=true,rollbackFor=Exception.class)

public class ScvAdminService {
	
	@Autowired
	private UserMapper userMapper;
	
	@Autowired
	private UsuarioMapper usuarioMapper;
	
	@Autowired
	private PerfilMapper perfilMapper;
	
	@Autowired
	private VeriLaboralMapper verilaboralMapper;
	
	public User getUser(String name, String pass) {
		User user = new User();
		user.setName(name);
		user.setPass(pass);
		return userMapper.buscarUserPorNamePass(user);
	}
	
	public List<Usuario> obtenerListaUsuario() {
		List<Usuario> list = new ArrayList<Usuario>();
		try {
			list = usuarioMapper.getListaUsuario();
			return list;
		} catch (Exception e) {
			e.printStackTrace();
			return list;
		}
	}
	
	public Perfil getPerfil(int idPerfil) {
		Perfil perfil = new Perfil();
		perfil.setIdPerfil(idPerfil);
		return perfilMapper.getPerfilPorCodigo(perfil);
	}
	
	public Usuario getUsuario(Integer idUsuario) {
		Usuario usuario = new Usuario();
		usuario.setIdUsuario(idUsuario);
		return usuarioMapper.getUsuarioPorCodigo(usuario);
	}
	
	@Transactional
	public void modificarUsuario(Usuario usuario) {
		usuarioMapper.updateUsuario(usuario);
	}
	
	@Transactional
	public void eliminarUsuario(Integer idUsuario) {
		usuarioMapper.deleteUsuario(idUsuario);
	}
	
	@Transactional
	public void agregarUsuario(Usuario usuario) {
		usuarioMapper.insertUsuario(usuario);
	}
	
	@Transactional
	public void agregarVeriLaboral(VeriLaboral verilaboral) {
		verilaboralMapper.agregarVeriLaboral(verilaboral);
	}


}
